package ModelLayer;
import java.util.ArrayList;

/**
 * Class for objects of NonCompositeProduct
 * 
 * @author (AF, RA, KP, RL) 
 * @version (2012.06.05)
 */
public class NonCompositeProduct extends Product
{
    private int maxCapacity;
    private int minCapacity;
    private String location;
    
    /**
     * Constructor for objects of class NonCompositeProduct
     * 
     * @param productName name of Product as String 
     * @param productDescription description of Product as String
     * @param barcode barcode of Product as int
     * @param price price of Product as double
     * @param retailPrice retailPrice of Product as double
     * @param quantity quantity of Product as int
     * @param maxCapacity maximum Capacity of Product as int
     * @param minCapacity minimum Capacity of Product as int
     * @param location location of Product as String
     */
    public NonCompositeProduct(String productName, String productDescription, int barcode, double price, 
                               double retailPrice, int quantity, int maxCapacity, int minCapacity,
                               String location)
    {
        super(productName, productDescription, barcode, price, retailPrice, quantity);
        this.maxCapacity = maxCapacity;
        this.minCapacity = minCapacity;
        this.location = location;
    }

    /**
     * finds maximum capacity product
     * 
     * @param none
     * 
     * @return maxCapacity of product as int
     */
    public int getMaxCapacity()
    {
        return maxCapacity;
    }
    
    /**
     * finds minCapacity capacity product
     * 
     * @param none
     * 
     * @return minCapacity of product as int
     */
    public int getMinCapacity()
    {
        return minCapacity;
    }
    
    /**
     * finds location of product
     * 
     * @param none
     * 
     * @return location of product as String
     */
    public String getLocation()
    {
        return location;
    }
   
    /**
     * no use
     * 
     * @param partlist as Partlist
     * 
     * @return none
     */
    public void addPartlist(Partlist partlist) 
    {
        // not used   
    }
    
    /**
     * no use
     * 
     * @param none
     * 
     * @return returnList as ArrayList
     */
    public ArrayList<Partlist> getChildren() 
    {
        ArrayList<Partlist> returnList = new ArrayList<Partlist>();
        return returnList;
        // not used
    }
}